1. Field of the Invention
The present invention relates to a line spectral frequency (LSF) quantizer for a wideband speech coder. More specifically, the present invention relates to an LSF quantizer for a wideband speech coder that employs predictive pyramid vector quantization (PPVQ) and pyramid vector quantization (PVQ) usable for LSF quantization with a wideband speech quantizer.
2. Description of the Related Art
In general, it is of great importance to efficiently quantize an LSF coefficient indicating a correlation between short intervals of a speech signal for the sake of high-quality speech coding with a speech coder. The optimum linear predictive coefficient of a linear predictive coefficient (LPC) filter is calculated in a manner such that an input speech signal is divided by frames to minimize the energy of prediction errors by frame. The LPC filter of an AMR_WB (Adaptive Multi-Rate_Wideband) speech coder standardized as a wideband speech coder for a 3GPP IMT-2000 system by Nokia is a 16th-order all-pole filter that requires a certain number of bits to be allocated for quantization of the 16 linear predictive coefficients.
As an example, IS-96A QCELP (Qualcomm Code Excited Linear Prediction), a speech coding method for CDMA mobile communication systems, uses 25% of the total bits for LPC quantization, and an AMR_WB speech coder by Nokia uses 9.6 to 27.3% of the total bits for the LPC quantization in nine modes. So far, many kinds of efficient LPC quantization methods have been developed and actually utilized in speech compressors. Direct quantization of the coefficients of the LPC filter is problematic in that the filter is too sensitive to the quantization error of the coefficients to guarantee stability of the LPC filter after coefficient quantization. Accordingly, there is a need for converting the LPC to another parameter more suitable for quantization, such as a reflection coefficient or an LSF. In particular, the LSF value has a close relationship with the frequency characteristic of the speech signal so that most of the recent standard speech coders employ the LSF quantization method.
For efficient quantization, use is made of a correlation between frames of the LSF coefficient. Namely, the LSF of the current frame is not directly quantized but is predicted from that of the previous frame to quantize the prediction error. The LSF value is closely related to the frequency characteristic of the speech signal and thus is predictable in terms of time to obtain a considerably large prediction gain.
There are two prediction methods, one using an auto-regressive (AR) filter and the other using a moving average (MA) filter. The AR filter is superior in prediction performance but causes coefficient-transfer error propagation from one frame to another at a receiver. The MA filter is inferior in prediction performance to the AR filter but it is advantageous in that the effect of the transfer error is restrained over time. Accordingly, a prediction method with an MA filter is used in speech compressors such as AMR, CS-ACELP or EVRC that are utilized in environments in which many transfer errors occur, such as in radio communications.
The present invention solves the prediction error problem by use of both an AR predictor and a safety net. A quantization method using a correlation between neighboring LSF factors within a frame instead of LSF prediction between frames has also been developed. In particular, this method can promote the efficiency of quantization since the LSF values satisfy the order property.
It is impossible to quantize all vectors at the same time because of an extremely large vector table and a long retrieving time. To overcome this problem, a so-called split vector quantization (SVQ) method is suggested wherein the total vector is split into several subvectors, which are independently quantized. For example, the size of the vector table is 10×1020 in 10th-order vector quantization using 20 bits, but it is no more than 5×1020×2 in split vector quantization where the vector is split into two 5th-order subvectors to which 10 bits are independently allocated. Splitting the vector into more subvectors reduces the size of the vector table to save memory space, and hence the retrieving time, but it does not make the most of the correlation between vector values so it deteriorates performance.
With the vector split into ten 1st-order vectors, for example, the 10th-order vector quantization becomes scalar quantization. Assuming that split vector quantization is used to qauntize the LSF directly without LSF prediction between 20 msec frames, 24 bits are required to attain the quantization performance. The split vector quantization method, in which the respective subvectors are independently quantized, causes a problem in that it cannot make the most of the correlation between the subvectors, hence it fails to optimize the total vector. Examples of other quantization methods recently developed include multi-stage vector quantization, a selective vector quantization method using two tables, and a linked split vector quantization method wherein a table to be used is selected with reference to the boundary values of the individual subvectors.
Although a general vector quantizer is required to store code books, the split vector quantizer has only to store the index of code books and enable ready calculation of the output vector without comparing the output vector with all other output codes possible in coding.
In general, the lattice is a set of nth-order vectors defined as Equation 1:Λ={x|x=c1a1+c2a2+. . . +cnan}  [Equation 1] 
The split vector quantizer is largely classified into a uniform split vector quantizer and a pseudo-uniform split vector quantizer, and includes, depending on the type of code book, a spherical split vector quantizer or a pyramid split vector quantizer. The spherical split vector quantizer is suitable for a source having a Gaussian distribution, the pyramid split vector quantizer being suitable for a source having a Laplacian distribution.